//如果是非路径形式的标识符
//路径形式的模块 ./  ../  /xxx  
//首位/当前文件模块所属的磁盘根目录
//.js后缀名可以省略

require('模块标识符')

//核心模块的本质也是文件
//核心模块的文件已经编译到二进制文件中，
require('fs')


//第三方模块
//第三方模块必须通过npm下载
//require('包名')
//不可能与核心模块的名字一样
//既不是核心模块，也不是路径形式的模块
//  先找到当前文件所处目录中node_modules目录
//      node_modules/art-template
//      node_modules/art-template/package.json文件
//      node_modules/art-template/package.json文件中的main属性
//      main属性记录了art-template的入口模块
//      然后加载使用这个第三方包
//      实际上最终加载的还是文件

//      如果package.json文件不存在或者main指定的入口不存在
//      默认找备选项index.js

//      如果以上任何一个条件都不成立，则会进入上一级目录中的mode_modules目录查找
//      如果上一级还没有，继续上一级
//      直到当前磁盘根目录还找不到，最后报错can not find module xxx
var template = require('art-template')

//一个项目有且只有一个node_modules 放在项目根目录中
//不会出现多个node_modules

//模块查找机制：
    // 优先从缓存加载
    // 核心模块
    // 路径形式的文件模块
    // 第三方模块
